Skip to content

fix(ci): consolidate LuaRocks publication to tag-triggered workflow - #37

Merged
tkolleh merged 1 commit into
mainfrom
simplify-ci-cd
Apr 9, 2026
Merged

fix(ci): consolidate LuaRocks publication to tag-triggered workflow#37
tkolleh merged 1 commit into
mainfrom
simplify-ci-cd

Conversation

@tkolleh

@tkolleh tkolleh commented Apr 9, 2026

Copy link
Copy Markdown
Owner

Summary

Consolidates LuaRocks publication into a single workflow to fix JSON dependency issues and simplify CI/CD debugging.

Problem

The Release Please workflow (release-please.yml) fails at the "Publish to LuaRocks" step because luarocks upload requires a system Lua JSON library (cjson, dkjson, or json) that isn't installed on the Ubuntu runner. The backup publish.yml workflow succeeds using lx upload which has built-in JSON handling.

This creates:

  1. Redundant publication attempts (both workflows try to publish)
  2. Inconsistent methods (luarocks upload vs lx upload)
  3. Debugging complexity (silent failures in lx upload, cryptic errors in luarocks upload)

Solution

  1. Remove LuaRocks publication from release-please.yml (lines 77-82 commented out with explanation)
  2. Make publish.yml the sole LuaRocks publication point with verbose output for better debugging
  3. Standardize Ubuntu version to ubuntu-24.04 across all workflows

Changes

  • .github/workflows/release-please.yml:
    • Changed runs-on: ubuntu-latestubuntu-24.04
    • Commented out LuaRocks publication step with explanation
  • .github/workflows/publish.yml:
    • Added --verbose flag to lx upload command for better debugging
    • Added comment explaining this is now the sole publication point

Benefits

  • Single publication path - Eliminates redundancy and race conditions
  • Clearer debugging - Verbose output from lx upload shows what's happening
  • No JSON dependency issues - lx upload has built-in JSON handling
  • Consistent environment - All workflows use ubuntu-24.04
  • Maintains existing functionality - GitHub releases still created, LuaRocks publication via tags

Testing

  • Local validation: just check passes (linting/formatting)
  • Workflow files validated for YAML syntax
  • Changes are minimal and non-breaking

Notes

  • The publish.yml workflow triggers on version tags (v*.*.*) and workflow_dispatch
  • The release-please.yml workflow still creates GitHub releases with binaries
  • No secrets or authentication changes required

- Remove LuaRocks publication from release-please.yml (commented out)
- Update publish.yml with verbose lx upload for better debugging
- Standardize on ubuntu-24.04 across all workflows
- Add explanatory comments about consolidation
@tkolleh
tkolleh merged commit 843baec into main Apr 9, 2026
2 checks passed
@tkolleh
tkolleh deleted the simplify-ci-cd branch April 9, 2026 01:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant